package previous.Test_0301;

import java.util.Scanner;

/**
 * Created with Intellij IDEA
 * Description:
 * User: 星辰
 */
public class Blue_bridge {
    //阶乘求和
    //阶乘
    //1.求阶乘
    //2.找每个末尾0的个数
    //3.寻找末尾个数等于k的最小数
    public static void main(String[] args) {
         Scanner scan = new Scanner(System.in);
            //在此输入您的代码...
        int n= scan.nextInt();
        int ret=1;
        for (int i = 1; i <=n ; i++) {
            StringBuilder s=new StringBuilder();
            ret*=i;
            s.append(ret+"");
            for (int j = 0; j < s.length(); j++) {

            }
            System.out.println(s);
        }
         scan.close();
    }
    public static void main2(String[] args) {
        long ret=1;
        long sum=0;
        long mod=(long)1e9;
        for (long i = 1; i <=42; i++) {
            ret=(ret*i)%mod;
            sum=(sum+ret)%mod;

        }
        System.out.println(sum);
    }
    public static long Factorials(long n){
        long mod=(long)1e9;
        if(n==0 || n==1){
            return 1;
        }
        return (n*Factorials(n-1))%mod;
    }
    //阶乘求和
    public static long sum(long n){
        long mod=(long)1e9;
        if(n==0){
            return 0 ;
        }
        return (Factorials(n)+sum(n-1))%mod;
    }
    public static void main1(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        long n=scan.nextLong();
        System.out.println(sum(n));
        scan.close();
    }
    public static long Factorials1(long n){
        long sum=0;
        for (long i = 1; i <=n; i++) {
            long j=i;
            long ret=1;
            while(j!=1){
                ret*=j;
                j--;
            }
            sum+=ret;
        }
        return sum;
    }
}
